package ScalaStudy.chapter07

import scala.collection.mutable.ListBuffer

object Test05_ListBuffer {

  def main(args: Array[String]): Unit = {


    /////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////// ListBuffer ////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////


    println("====================  创建可变列表  =====================")

    val list: ListBuffer[Int] = new ListBuffer[Int]()
    val list1 = ListBuffer(1,2,3,4,5)                    //推荐写法

    println(list)
    println(list1)

    println("====================  添加元素  =====================")

    list.prepend(1, 2, 3)                           //在头部添加元素  list = (1,2,3)
    println(list)

    list.append(4,5)                               //在尾部添加元素  list = (1,2,3,4,5)
    println(list)

    list.insert(5,6)                               //在5处添加元素  list = (1,2,3,4,5,6)
    println(list)

    0 +=: list += 7 += 8                          //在前面添加0，后面添加7、8   list = (0,1,2,3,4,5,6,7,8)
    println(list)


    println("====================  合并两个list  =====================")

    val list9 = List(9)
    val list09 = list ++ list9                                    //将list和list9相连接
    println(list09)                                               //list09 = (0,1,2,3,4,5,6,7,8,9)

    val list99 = List(99)
    list09 ++= list99                                              //将list99追加到list09


    println("====================  修改元素  =====================")
    //list1 = (1,2,3,4,5)

    list1(0) = 0                                                  //将位置0的元素改成0
    list.update(0,0)                                              //与上面相同
    println(list1)

    println("====================  删除元素  =====================")
    //list1 = (0,2,3,4,5)

    list1.remove(0)                            //删除位置0的元素
    println(list1)

    list1 -= 5                                  //删除指定元素
    println(list1)

  }
}
